(function(){
    _$(document).ready(function(){
        function App(){};
        var recode;
        App.prototype.eventFn=function(){
            _$("#pic").click(function(){
                _$(this).attr('src','/loginCode?num='+Math.random());
            });
            _$("#j-switchBtn").on("click",function(){
                var key=_$(this).attr('data-key');
                if(key==1){
                    _$(this).attr('data-key','0').children('i').addClass('up');
                    _$("#j-otherWay").css('display','flex');
                }else{
                    _$(this).attr('data-key','1').children('i').removeClass('up');
                    _$("#j-otherWay").css('display','none');
                }
            });
            _$("#rescode").keyup(function(){
                _$.post('/doLoginCode',{code:_$(this).val().toUpperCase()},function(json){
                    if(json['code']==1){
                        recode=true;
                    }else{
                        recode=false;
                    }
                })
            });
            function isShowBtn(oneD,twoD,threeD){
                _$(oneD).keyup(function(){
                    var one=_$(this).val();
                    var two=_$(twoD).val();
                    var three=_$(threeD).val();
                    if(one!=""&&two!=""&&three!=""){
                        _$("#regBtn").removeClass('disabled').removeAttr('disabled');
                    }else{
                        _$("#regBtn").addClass('disabled').attr('disabled',true);
                    }
                })
            }
            isShowBtn('#password','#username','#rescode');
            isShowBtn('#username','#password','#rescode');
            isShowBtn('#rescode','#username','#password');
            _$("#regBtn").click(function(){
                if(_$(this).is('disabled')==true){

                }else{
                    var usm=_$("#username").val();
                    var psw=_$("#password").val();
                    if(recode==false){
                        _$(".error-tip").show().html('验证码出错');
                        _$("#rescode").focus();
                    }else if(isUsm(usm)==false){
                        _$(".error-tip").show().html('请将用户名位数设置为2-20位');
                        _$("#username").focus();
                    }else if(isPsw(psw)==false){
                        _$(".error-tip").show().html('请将密码位数设置为6-20位');
                        _$("#password").focus();
                    }else{
                        _$(".error-tip").hide().html('');
                        _$.post('/login',{
                            username:usm,
                            password:psw
                        },function(json){
                            console.log(json);
                            if(json['code']==1){
                                _$(".error-tip").show().html(json['retMsg']);
                                _$("#regBtn").attr('disabled',true);
                                setTimeout(function(){
                                    location.href='/user';
                                },1000)
                            }else if(json['code']==0){
                                _$(".error-tip").show().html(json['retMsg']);
                                _$("#password").focus();
                            }else if(json['code']==2){
                                _$(".error-tip").show().html(json['retMsg']);
                            }else{
                                _$(".error-tip").show().html('未知错误');
                            }
                        });
                    }
                }
            });
            function isPsw(str){
                var reg = /^[A-Za-z0-9]{6,20}$/;
                return reg.test(str);
            }
            function isUsm(str){
                var reg = /^[A-Za-z0-9]{2,20}$/;
                return reg.test(str);
            }
        };
        App.prototype.init=function(){
            //事件调用
            this.eventFn();
        };
        //c程序初始化
        new App().init();
    })
})();
